package com.bitejiuyeke.forum.services;

import com.bitejiuyeke.forum.model.Message;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 666
 * Date: 2024-02-18
 * Time: 15:05
 */


public interface IMessageService {
    /**
     *   创建留言
     * @param message  对象
     */
   void  create(Message message);


    /**
     *  根据用户id，查询未读消息数量
     * @param receiverUserId  用户id
     * @return
     */
    Integer selectUnreadCount(Long  receiverUserId);

    /**
     *  根据id，查询站内消息
     * @param receiveUserId
     * @return
     */
    List<Message> selectByReceiveUserId(Long receiveUserId);

    /**
     * 更新指定站内信的状态
     * @param id
     * @param state   目标状态
     */

    void  updateStateById(Long id,Byte state);

    /**
     *  根据id查询站内信
     * @param id
     * @return
     */


    Message selectById(Long id);

    /**
     * 回复站内信
     * @param repliedId
     * @param message
     */

@Transactional
    void  reply(Long repliedId,Message message);
}
